The World Wide Web has expanded to provide web services faster to consumers. Web services may be provided by a web application which uses one or more services to handle a transaction. The applications may be distributed over several machines, making the topology of the machines that provides the service more difficult to track and monitor.
Monitoring a web application helps to provide insight regarding bottle necks in communication, communication failures and other information regarding performance of the services that provide the web application. A web application may be initiated by a request received from a client. To provide a complete picture of the performance of a web application, it is helpful to monitor both the backend processing of a request by the web application as well as the network and other processing of the request.
Typically, monitoring systems determine the time it takes to process a request on a back-end system and the total time to handle a request from the point of view of a client which initiates the request. The difference of the two times is typically attributed to network latency. Attributing time difference to the network does not provide a complete explanation of how the processing of a request is distributed in time.
There is a need in the art for web service monitoring which may accurately and efficiently monitor the performance of distributed applications from the point of view of a backend server and a client device sending a request to the server, as well as a need for correlating data derived from monitoring each end of a transaction.